#if 1
#include <windows.h>
#include <stdio.h>
#include <type_traits>
#include <assert.h>
#include <set>
typedef unsigned int uint;

void get() {};

struct S
{
	int a;
	int b;
};

struct less : public std::binary_function<S, S, bool>
{
	bool operator()(const S& a, const S& b)const
	{
		return a.a < b.a;
	}
};

struct less2 : public std::binary_function<S, S, bool>
{

	bool operator()(const S& a, const S& b)const
	{
		return a.b < b.b;
	}
};

#if 0
int main(void)
{
	S s1;
	S s2;
	s1.a = 1;
	s1.b = 2;
	s2.a = 2;
	s2.b = 1;
	std::set<S, less> f;
	f.insert(s1);
	f.insert(s1);
	f.insert(s2);
	std::set<S, less2> f2;
	f2.insert(s2);
	f2.insert(s1);
	return 0;
}

char sf[] = "1234";

#endif // 0
#endif // 0
